home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
United Public Domain Gold 2
/
United Public Domain Gold 2.iso
/
utilities
/
pu079.dms
/
pu079.adf
/
3DIMENTION
/
3D.doc
< prev
Wrap
Text File
|
1986-09-27
|
10KB
|
198 lines
3D Wire-Frame Object Editor
USER DOCUMENTATION
Index:
1) Overview
2) Using the System
3) Creating an Object
1) Overview
The 3D wire frame editor is useful for creating wire frame
objects which may be manipulated in 3 dimensions. A wire frame
object may be described by a set of vertices (points) connected
by a set of edges (lines). Each point is described by a set of
coordinates (x,y,z) representing its position in three space.
Each edge is described by a set (v1,v2) of the vertices which it
connects. Designing a wire frame object by entering the lists of
vertices and edges is a tedious process. This program simplifies
the design process by allowing the user to enter the wire frame
object interactively; a picture of the object is drawn in a
window on the viewscreen, while points and vertices are entered
into the object by placing them in the picture using the mouse.
One of the major limitations in using a computer to design three
dimensional objects is the two-dimensional screen, which makes
the perception of depth difficult for the user. Additionally, the
user may wish to view the object from a variety of angles, and to
scale in or out on certain sections for closer study. This
program uses a number of techniques to help the user. Firstly,
the object is projected on the screen using 'perspective
projection', in which objects appear to become smaller and
parallel lines converge as they recede into the distance. For
many objects, this gives an important visual cue as to where
things are. Secondly, the program allows real-time rotation of
the object around the x, y, and z axes, in addition to scaling
and translation (movement) of the object in the window. Finally,
an option is provided to display a red-green stereo image which,
when used with special 3d 'movie' glasses, gives the illusion of
a three dimensional view. Note: at the time of this writing, the
3d mode still has bugs, so it might not work correctly.
2) Using the System
To start up the program, type "3d" at the CLI prompt, or
select the 3d icon by double clicking on it with the left mouse
button. To run the program as a subtask from the CLI, remember
to type "run 3d". In any case, a new screen will appear, and two
windows will appear on top of it. To get back to the workbench,
or to any other programs running concurrently on other screens,
either a) pull down the screen dragging down on the screen title
bar with the left mouse button, b) select the below gadget in the
upper right corner of the screen to send the screen to the
bottom, or c) hit the 'LeftAmiga'-'n' keys. To exit the system,
select the close gadget at the upper left corner of the control
panel window.
The Object Window
One of the windows on the screen is labeled 'Object Window'.
The object will be displayed in this window. Note that it has
a resize gadget in the lower right corner. This can be used
to resize the window to fill the whole screen, if desired. When
the window is resized, the object within it will be redrawn in a
new size. The small bright dot in the center of the window is
known as the 'marker'. The marker is used to position or select
the vertices and edges of an object being rendered.
The Control Panel
The other window on the screen is labeled 'Control Panel'.
Most of the commands to the system will be made by selecting the
gadgets in this window. To select a gadget, place the mouse
cursor over it and press the left mouse button. The set of move
gadgets is used to position the marker in the object window. The
rotate, scale, and translate gadgets are used to alter the
appearance of the object within the object window. Place and
Remove vertex are used to add and delete vertices from the
object, while Place and Remove edge do the same for edges. The
group commands may be used to define subsets of an object upon
which an operation will take effect. Notice that the title bar in one of the windows will be clear,
while the other will be 'ghosted' over. The former window is the
'active' window. To activate a window, place the mouse anywhere
within its body and click with the left mouse button. Note that
by clicking on the screen background, both windows are made
inactive.
The Menu System
With either of the windows activated, now press down on the
right mouse button. A menu strip will now appear at the top of
the screen. Without letting up on the right button, move the
mouse cursor to the top of the screen above one of the menu
titles. A small window will now drop down, listing a set of
commands which are accessible through that menu. To select a
command, now move the mouse pointer down until that command is
highlighted and release the right mouse button. The first menu on
the left is used to save and load objects or subobjects. The
second menu is used to toggle on or off program options, such as
stereo display. The third menu is a clear menu, which has
commands to clear the current object from menu and to clear the
current grouping set. The fourth menu is a debug menu used to
dump information about the internal status of variables to the
CLI from which the program was started; this output may be
redirected to a file using the standard '>' character on the
command line. This menu will only appear if the '-d' option is
appended to the command line invoking the program.
3) Creating an Object
Creating objects consists of placing vertices and drawing lines
between them. To place a vertex, move the marker to the position in
which you want it placed using the move gadgets. Then press the place
vertex gadget to place a vertex at the current vertex position. Note
that the current vertex position in NDC space is displayed in the
upper left hand corner of the object window; this can be turned of with
the Coords Off option on the Options menu. To draw an edge between
two vertices, place the marker near to the first vertex, and press
the place edge gadget. The vertex which is currently closest to the
marker will be highlighted to signify which vertex the command will
operate on. Now move the marker near to the second vertex and press
the place edge gadget again. Notice that as the marker is moved away
from the first vertex, a line is drawn between it and the first
marker, and when the place edge gadget is selected the second time,
the endpoint of this line is transferred from the marker to the vertex.
To delete a vertex, place the marker near to it, and select the
remove vertex gadget. The vertex will disappear, along with all
lines connected to it. To delete an edge, place the marker near
to one of the vertices at the end of the line, and hit the
remove edge gadget. This vertex will now become hilighted. Now
move the cursor to the other vertex on the line, and hit remove
edge again; the line between the vertices will now disappear.
Grouping Subobjects
A 'group' is a set of points and vertices which are a subset of
the object being displayed. To add a vertex to the group, move
the marker near to the vertex and select the add to group gadget.
To delete a vertex from the group, move the marker near to it and
select the remove from group gadget. Edges may not be explicitely
added to or deleted from a group, but information about edges
which connect members of the group is kept by the program. A
group may be manipulated independently of the main object by
turning on the group option on the options menu. With this option
enabled, all the rotation, translation, and scale operations will
take effect on the group only. Groups may be saved or loaded from
disk using the save/load items on the file menu with the Group
option enabled on the Options menu. Note that the format of a
saved group is identical to that of a saved object, so that
libraries of objects may be stored on disk and read in as groups
to be placed in a scene.
Transforming Objects
To transform the object in memory, hold down the gadget associated
with that transform. The object will be transformed as long as the gadget is
held down. For instance, to rotate the object around the x axis, select
either the 'up-arrow' or 'down-arrow' gadget under the set of rotation
gadgets. As long as the gadget is held down, the object will continue to
rotate. Optionally, if you click down on any transformation gadget, and
then remove the mouse pointer from the gadget before you release, the
gadget will remain activated until you click down on it again.
Disk Operations
Before executing any disk operations, you must enter the filename
you wish program to use by clicking on the file gadget with the mouse,
entering the filename, and hitting return. The Save and Load menu items
will use this filename to read or write information to system devices.
Normally, Load will clear any previous objects from memory and load a new
object from disk. However, with the Group option enabled, new objects
may be read in from disk without destroying any objects already in memory.
Save will normally save all objects in memory, but with the group option
enabled, it will only save those vertices belonging to the group, and will
only save those edges which connect two vertices in the group.
Hints
The filename gadget will accept any logical device as a filename;
specifically, the console window descriptor '*' is valid. Thus, by entering
an asterisk as the filename, one can enter information directly from the
console selecting the load menu item, escaping back to the workbench
screen, and typing the data into the window under which 3d is running
as a task. The data format is:
x y z
.
.
.
*
i j
.
.
.
*
where x, y, and z are real coordinates of vertices, and i,j are indices
into the coordinates describing edges. For example, to enter a square,
type:
0.25 0.25 0.0
0.25 0.75 0.0
0.75 0.75 0.0
0.75 0.25 0.0
*
0 1
1 2
2 3
3 0
*